package org.dromara.business.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.business.domain.OrphanDetails;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;

import java.io.Serial;
import java.io.Serializable;


/**
 * 孤儿详细信息视图对象 orphan_details
 *
 * @author zlj
 * @date 2025-01-18
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = OrphanDetails.class)
public class OrphanDetailsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * 图片
     */
    @ExcelProperty(value = "图片")
    private String picture;
    /**
     * 图片
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL ,mapper = "picture")
    private String pictureUrl;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓别")
    private String sex;
    //虚拟字段
    @TableField( exist = false)
    private String sexF;

    /**
     * 小名
     */
    @ExcelProperty(value = "小名")
    private String petName;

    /**
     * 出生日期
     */
    @ExcelProperty(value = "出生日期")
    private String birthDate;

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private Long age;

    /**
     * 地区
     */
    @ExcelProperty(value = "地区")
    private String area;

    /**
     * 街道
     */
    @ExcelProperty(value = "街道")
    private String street;

    /**
     * 社区
     */
    @ExcelProperty(value = "社区")
    private String community;

    /**
     * 民族
     */
    @ExcelProperty(value = "民族")
    private String nationality;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idCard;

    /**
     * 身高
     */
    @ExcelProperty(value = "身高")
    private Long height;

    /**
     * 体重
     */
    @ExcelProperty(value = "体重")
    private Long weight;

    /**
     * 是否有疾病
     */
    @ExcelProperty(value = "是否有疾病", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "whether_or_not")
    private String isIll;
    @TableField( exist = false)
    private String isIllF;

    /**
     * 疾病
     */
    @ExcelProperty(value = "疾病")
    private String ill;

    /**
     * 监护人姓名
     */
    @ExcelProperty(value = "监护人姓名")
    private String guardianName;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    private String guardianTel;

    /**
     * 与孩子关系
     */
    @ExcelProperty(value = "与孩子关系")
    private String relation;

    /**
     * 邻居姓名
     */
    @ExcelProperty(value = "邻居姓名")
    private String neighborName;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    private String neighborTel;

    /**
     * 村(居)委书记姓名
     */
    @ExcelProperty(value = "村(居)委书记姓名")
    private String villageName;

    /**
     * 村(居)委书记联系方式
     */
    @ExcelProperty(value = "村(居)委书记联系方式")
    private String villageTel;

    /**
     * 家庭主要联系人姓名
     */
    @ExcelProperty(value = "家庭主要联系人姓名")
    private String primaryName;

    /**
     * 家庭主要联系人联系方式
     */
    @ExcelProperty(value = "家庭主要联系人联系方式")
    private String primaryTel;

    /**
     * 学校
     */
    @ExcelProperty(value = "学校")
    private String school;

    /**
     * 班主任姓名
     */
    @ExcelProperty(value = "班主任姓名")
    private String teacherName;

    /**
     * 班主任联系方式
     */
    @ExcelProperty(value = "班主任联系方式")
    private String teacherTel;

    /**
     * 家庭情况
     */
    @ExcelProperty(value = "家庭情况")
    private String familyInfo;

    /**
     * 家庭是否有低保
     */
    @ExcelProperty(value = "家庭是否有低保", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "whether_or_not")
    private String isSubsistenceAllowance;
    @TableField(exist = false)
    private String isSubsistenceAllowanceF;

    /**
     * 家庭是否是精准扶盆户
     */
    @ExcelProperty(value = "家庭是否是精准扶盆户", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "whether_or_not")
    private String isPreciseHelp;
    @TableField(exist = false)
    private String isPreciseHelpF;

    /**
     * 微心愿
     */
    @ExcelProperty(value = "微心愿")
    private String wish;

    /**
     * 孩子现状
     */
    @ExcelProperty(value = "孩子现状")
    private String helpType;

    /**
     * 帮扶需求
     */
    @ExcelProperty(value = "帮扶需求")
    private String helpNeeds;
    @TableField(exist = false)
    private String[] helpNeedsF;

    // 状态  1:待审核 2:审核通过 3:审核失败
    @ExcelProperty(value = "状态")
    private String state;





}
